#define _CRT_SECURE_NO_WARNINGS 1

//#include<stdio.h>
//
////void Print(int (*p)[5], int r, int c)
////{
////	int i = 0;
////	for (i = 0; i < r; i++)
////	{
////		int j = 0;
////		for (j = 0; j < c; j++)
////		{
////			printf("%d ", *(*(p + i) + j));
////		}
////		printf("\n");
////	}
////}
////
////int main(void)
////{
////	int arr[3][5] = { 1,2,3,4,5, 2,3,4,5,6, 3,4,5,6,7 };
////	Print(arr, 3, 5);
////	return 0;
////}
//
//int add(int x, int y)
//{
//	return x + y;
//}
//
//int main(void)
//{
//	printf("%p\n", add);
//	printf("%p\n", &add);
//	int (*p)(int, int) = &add;
//	printf("%p", p);
//	return 0;
//}
//
//
//int compar(const void* p1, const void* p2)
//{
//	return (*(int*)p1 - *(int*)p2);
//}
//
//int compar(const void* p1, const void* p2)
//{
//	return (strcmp(*(char*)p1 , *(char*)p2));
//}
//
//int compar(const void* p1, const void* p2)
//{
////	return strcmp((struct stu*)p1->name , (struct stu*)p2->name);
////}
//
//#include<stdio.h>
//#include<string.h>
//#include<stdlib.h>
//
//struct Stu
//{
//	char name[20];
//	int age;
//}
//
//int compar1(const void* p1, const void* p2)
//{
//	return (*(int*)p1 - *(int*)p2);
//
//	int compar2(const void* p1, const void* p2)
//	{
//		return strcmp(((struct Stu*)p1)->name, ((struct Stu*)p2)->name);
//	}
//
//
//void test1()
//	{
//		int arr[10] = { 3,1,5,2,9,7,4,8,0,6 };
//		int sz = sizeof(arr) / sizeof(arr[0]);
//		qsort(arr, sz, sizeof(sizeof(arr[0])), compar1);
//	}
//
//void test2()
//{
//	struct stu arr[3] = { {"zhangsan", 20}, {"lisi", 30}, {"wangwu",16} };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	qsort(arr, sz, sizeof(arr[0]), compar2);
//}
//int main(void)
//{
//	test1();
//	test2();
//	return 0;
//}

